package co.jp.roomy;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import co.jp.roomy.vo.Heya;

public class MainMenuActivity extends Activity {
	// DB初期設定用
	// DB処理
	private DatabaseHelper helper = new DatabaseHelper(this);
	public static SQLiteDatabase db;
	private String[] myHeyaList = {"徹子のお部屋", "隠し部屋", "じゃぽね", "X"};
	private String[] kaguCategoryItems = {"机", "椅子", "箪笥", "照明"};
	private String[] kaguTypeItems = {"机A","机B","机C","机D","椅子A","椅子B","椅子C","椅子D","箪笥A","箪笥B","箪笥C","箪笥D","照明A","照明B","照明C","照明D"};
	private ArrayList<Heya> dbHeyaList;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main_menu);
		
		
		
		// ーーーーーーーーーーーーーーーーDBに初期情報を詰める（暫定処理）ーーーーーーーーーーーーーーーー
		db = helper.getWritableDatabase();
		// トランザクションスタート
		db.beginTransaction();
		
		// カテゴリテーブル削除
		db.execSQL("DROP TABLE M_CATEGORY");
		// カテゴリテーブル作成（カテゴリID、カテゴリー名）
		db.execSQL("CREATE TABLE M_CATEGORY (categoryId INTEGER PRIMARY KEY AUTOINCREMENT, categoryName TEXT)");
		// カテゴリ情報をDBにセット
		createMCategoryValues(db);
		
		// 家具テーブル削除
		db.execSQL("DROP TABLE M_KAGU");
		// 家具テーブル作成（家具ID、カテゴリID、家具名）
		db.execSQL("CREATE TABLE M_KAGU (kaguId INTEGER PRIMARY KEY AUTOINCREMENT, categoryId INTEGER, kaguName TEXT)");
		// 家具情報をDBにセット
		createMKaguValues(db);
		db.setTransactionSuccessful();
		db.endTransaction();
		
		// DBコミット？？
		db.setTransactionSuccessful();
		// トランザクション終了
		db.endTransaction();
		// ーーーーーーーーーーーーーーーーDBに初期情報を詰める（暫定処理終了）ーーーーーーーーーーーーーーーー
	}
	
	/*
	 * カテゴリー情報をDBにセット
	 */
	public void createMCategoryValues(SQLiteDatabase db) {
		ContentValues values = new ContentValues();
		for (int i=1;i<=kaguCategoryItems.length;i++) {
			values.put("categoryId", i);
			values.put("categoryName", kaguCategoryItems[i-1]);
			db.insert("M_CATEGORY", null, values);
		}		
	}
	
	/*
	 * 家具情報をDBにセット
	 */
	public void createMKaguValues(SQLiteDatabase db) {
		ContentValues values = new ContentValues();
		for (int i=1;i<=kaguTypeItems.length;i++) {
			values.put("kaguId", i);
			int categoryId;
			if (i<5) {
				categoryId=1;
			} else if (i<9) {
				categoryId=2;
			} else if (i<13) {
				categoryId=3;
			} else {
				categoryId=4;
			}
			values.put("categoryId", categoryId);
			values.put("kaguName", kaguTypeItems[i-1]);
			db.insert("M_KAGU", null, values);
		}
	}

	/**
	 * 部屋新規作成ボタンを押下時
	 */
	public void heyaAddButtonOnClick(View view) {
		Intent intent = new Intent(this, HeyaAddActivity.class);
		Heya heya = new Heya();
		heya.setHeyaColor("-1");
		
		intent.putExtra(MainMenuActivity.this.getString(R.string.heyaKey), heya);
		startActivity(intent);
	}
	/**
	 * 部屋一覧ボタンを押下時
	 */
	public void heyaSelectButtonOnClick(View view) {
		Intent intent = new Intent(this, HeyaListActivity.class);
		//DBから部屋一覧を取得。部屋リストアクティビティに処理を移動したい
		db = helper.getReadableDatabase();
		String[] columns = {"heyaID","heyaName"};
		String orderBy = "heyaId ASC";
		Cursor c = db.query("T_HEYA", columns, null, null, null, null, orderBy);
		startManagingCursor(c);
		dbHeyaList = new ArrayList<Heya>();
		for (int i=0; i<c.getCount();i++) {
			c.moveToNext();
			Heya heya = new Heya();
			heya.setHeyaId(c.getColumnIndex("heyaId"));
			heya.setHeyaName(c.getString(c.getColumnIndex("heyaName")));
			dbHeyaList.add(heya);
		}
		c.close();
		intent.putExtra(this.getString(R.string.my_heya_list_key), dbHeyaList);
		startActivity(intent);
	}
	/**
	 * 設定ボタンを押下時
	 */
	public void settingButtonOnClick(View view) {
		Intent intent = new Intent(this, SettingActivity.class);
		startActivity(intent);
	}
//TODO 使用している？？
//	public void onDestroy() {
//		super.onDestroy();
//		helper.close();
//	}
}